#!/bin/bash
user=$(echo $USER)
echo "当前登录用户为${user}"
# sudo blkid|grep sd
# 挂载ntfs硬盘  外置硬盘   win10sys-A28A14CE8A14A0B9  ->  目标目录-设备uuid
mountDisk() {
    #/media目录不需要-R 参数， 如果已经有被挂载的磁盘， 加-R参数setfacl会执行时间长
    # 而且
    # sudo setfacl -m user:${user}:rwx /media/
    # sudo setfacl -m user:${user}:rwx /etc/fstab
    while :; do
        sudo blkid|grep sd
        
        echo "
例如 sda1|/dev/sda1
输入-1,则执行全部挂载并退出， 使用ctrl+C退出需要手动 sudo mount -a 挂载
输入要挂载的驱动器："
        read sdxn
        if [ ${sdxn} = "-1" ]; then
            sudo mount -a
            exit 0
        fi
        
        disk_uuid=$(sudo blkid|grep ${sdxn}|sed 's/[[:space:]]/&\n/g'|grep ^UUID|sed 's/UUID="\(.*\)"/\1/')

        # 手动输入磁盘名的原因是会可能系统读取的LABEL是乱码
        /bin/echo -e "输入当前挂在磁盘的名称(英文):"
        read disk_name
        if [ -z ${disk_name} ]; then
            disk_name=$(sudo blkid|grep ${sdxn}|sed 's/[[:space:]]/&\n/g'|grep ^LABEL|sed 's/LABEL="\(.*\)"/\1/')
        fi
        
        
        if [ ! -d /media/${user}/${disk_name} ]; then
            sudo mkdir -p /media/${user}/${disk_name}
        fi
        sudo chown nobody:nogroup /media/${user}/${disk_name}
        sudo chmod 777 /media/${user}/${disk_name}
        sudo sed -i "/UUID=${disk_uuid}/d" /etc/fstab
        #echo "第三条信息" | sudo tee -a test.asc
        sudo sh -c "echo 'UUID=${disk_uuid} /media/${user}/${disk_name} ntfs defaults,uid=${user},gid=${user} 0 2' >> /etc/fstab"
        #sudo sh -c "echo 'UUID=${disk_uuid} /media/${user}/${disk_name} ntfs defaults,uid=${user},gid=${user} 0 2' >> /etc/fstab"
        sudo mount -a
    done
    
}

mountDisk
